home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / gnuish / flex251s / makefile.in < prev    next >
Makefile  |  1995-03-20  |  7KB  |  250 lines

  1. # @(#) $Header: /home/daffy/u0/vern/flex/RCS/Makefile.in,v 1.41 95/03/20 14:02:49 vern Exp $ (LBL)
  2.  
  3. # If your version of "make" does not define $(MAKE), comment in the
  4. # definition of "MAKE" below.  (You only need to do this if you intend
  5. # to do "make bigcheck" or "make dist".)
  6. # MAKE = make
  7.  
  8. # Possible values for DEFS:
  9. #
  10. # For flex to always generate 8-bit scanners, add "-DDEFAULT_CSIZE=256"
  11. # to DEFS.
  12. #
  13. # For Vax/VMS, add "-DVMS" to DEFS.
  14. #
  15. # For MS-DOS, add "-DMS_DOS" to DEFS.  See the directory MISC/MSDOS for
  16. # additional info.
  17.  
  18. CFLAGS = @CFLAGS@
  19. DEFS = @DEFS@
  20. LDFLAGS = 
  21. LIBS = @LIBS@
  22.  
  23. # Installation targeting.  Files will be installed under the tree
  24. # rooted at prefix.  flex will be installed in bindir, libfl.a in
  25. # libdir, FlexLexer.h will be installed in includedir, and the manual
  26. # pages will be installed in mandir with extension manext.
  27. # Raw, unformatted troff source will be installed if INSTALLMAN=man,
  28. # nroff preformatted versions will be installed if INSTALLMAN=cat.
  29.  
  30. prefix = /usr/local
  31. exec_prefix = $(prefix)
  32. bindir = $(exec_prefix)/bin
  33. libdir = $(exec_prefix)/lib
  34. includedir = $(prefix)/include
  35. manext = 1
  36. mandir = $(prefix)/man/man$(manext)
  37.  
  38. # You can define this to be "lex" if you want to replace lex at your site.
  39. FLEX = flex
  40.  
  41. INSTALLMAN = man
  42.  
  43. SHELL = /bin/sh
  44. srcdir = @srcdir@
  45. VPATH = @srcdir@
  46.  
  47. LN_S = @LN_S@
  48. YACC = @YACC@
  49. CC = @CC@
  50. AR = ar
  51. RANLIB = @RANLIB@
  52. INSTALL = @INSTALL@
  53. INSTALL_DATA = @INSTALL_DATA@
  54. INSTALL_PROGRAM = @INSTALL_PROGRAM@
  55.  
  56. # You normally do not need to modify anything below this point.
  57. # ------------------------------------------------------------
  58.  
  59. CPPFLAGS = -I. -I$(srcdir)
  60.  
  61. .c.o:
  62.     $(CC) -c $(CPPFLAGS) $(CFLAGS) $<
  63.  
  64. HEADERS = flexdef.h version.h
  65.  
  66. SOURCES = ccl.c dfa.c ecs.c gen.c main.c misc.c nfa.c parse.y \
  67.     scan.l skel.c sym.c tblcmp.c yylex.c
  68. OBJECTS = ccl.o dfa.o ecs.o gen.o main.o misc.o nfa.o parse.o \
  69.     scan.o skel.o sym.o tblcmp.o yylex.o @ALLOCA@
  70.  
  71. LIBSRCS = libmain.c libyywrap.c
  72. LIBOBJS = libmain.o libyywrap.o
  73.  
  74. LINTSRCS = ccl.c dfa.c ecs.c gen.c main.c misc.c nfa.c parse.c \
  75.     scan.c skel.c sym.c tblcmp.c yylex.c
  76.  
  77. DISTFILES = README NEWS COPYING INSTALL FlexLexer.h \
  78.     configure.in conf.in Makefile.in mkskel.sh flex.skl \
  79.     $(HEADERS) $(SOURCES) $(LIBSRCS) MISC \
  80.     flex.1 scan.c install.sh mkinstalldirs configure
  81.  
  82. DIST_NAME = flex
  83.  
  84. # which "flex" to use to generate scan.c from scan.l
  85. FLEX_EXEC = ./$(FLEX)
  86. FLEX_FLAGS = -t $(PERF_REPORT)
  87. COMPRESSION =
  88. PERF_REPORT = -p
  89.  
  90. FLEXLIB = libfl.a
  91.  
  92.  
  93. all: $(FLEX)
  94.  
  95. $(FLEX): .bootstrap $(OBJECTS) $(FLEXLIB)
  96.     $(CC) $(CFLAGS) -o $(FLEX) $(LDFLAGS) $(OBJECTS) $(FLEXLIB) $(LIBS)
  97.  
  98. .bootstrap: initscan.c
  99.     @rm -f scan.c
  100.     cp $(srcdir)/initscan.c scan.c
  101.     touch .bootstrap
  102.  
  103. parse.c: parse.y
  104.     $(YACC) -d $(srcdir)/parse.y
  105.     @sed '/extern char.*malloc/d' <y.tab.c >parse.tmp
  106.     @mv parse.tmp parse.c
  107.     @mv y.tab.h parse.h
  108.     @rm -f y.tab.c
  109.  
  110. parse.h: parse.c
  111.  
  112. scan.c: scan.l
  113.     $(FLEX_EXEC) $(FLEX_FLAGS) $(COMPRESSION) $(srcdir)/scan.l >scan.c
  114.     @sed s,\"$(srcdir)/scan.l\",\"scan.l\", <scan.c >scan.tmp
  115.     @mv scan.tmp scan.c
  116.  
  117. scan.o: scan.c parse.h flexdef.h config.h
  118. yylex.o: yylex.c parse.h flexdef.h config.h
  119.  
  120. skel.c: flex.skl mkskel.sh
  121.     $(SHELL) $(srcdir)/mkskel.sh $(srcdir)/flex.skl >skel.c
  122.  
  123. main.o: main.c flexdef.h config.h version.h
  124. ccl.o: ccl.c flexdef.h config.h
  125. dfa.o: dfa.c flexdef.h config.h
  126. ecs.o: ecs.c flexdef.h config.h
  127. gen.o: gen.c flexdef.h config.h
  128. misc.o: misc.c flexdef.h config.h
  129. nfa.o: nfa.c flexdef.h config.h
  130. parse.o: parse.c flexdef.h config.h
  131. skel.o: skel.c flexdef.h config.h
  132. sym.o: sym.c flexdef.h config.h
  133. tblcmp.o: tblcmp.c flexdef.h config.h
  134.  
  135. alloca.o: alloca.c
  136.     $(CC) $(CPPFLAGS) $(CFLAGS) -c -Dxmalloc=yy_flex_xmalloc alloca.c
  137.  
  138. alloca.c: $(srcdir)/MISC/alloca.c
  139.     @rm -f alloca.c
  140.     cp $(srcdir)/MISC/alloca.c .
  141.  
  142. test: check
  143. check: $(FLEX)
  144.     $(FLEX_EXEC) $(FLEX_FLAGS) $(COMPRESSION) $(srcdir)/scan.l \
  145.     | sed s,\"$(srcdir)/scan.l\",\"scan.l\", \
  146.     | diff scan.c -
  147.     @echo "Check successful, using COMPRESSION=\"$(COMPRESSION)\""
  148.  
  149. bigcheck:
  150.     rm -f scan.c ; $(MAKE) COMPRESSION="-C" check
  151.     rm -f scan.c ; $(MAKE) COMPRESSION="-Ce" check
  152.     rm -f scan.c ; $(MAKE) COMPRESSION="-Cm" check
  153.     rm -f scan.c ; $(MAKE) COMPRESSION="-Cfea" check
  154.     rm -f scan.c ; $(MAKE) COMPRESSION="-CFer" check
  155.     rm -f scan.c ; $(MAKE) COMPRESSION="-l" PERF_REPORT="" check
  156.     rm -f scan.c ; $(MAKE)
  157.     @echo "All checks successful"
  158.  
  159. $(FLEXLIB): $(LIBOBJS)
  160.     $(AR) cru $(FLEXLIB) $(LIBOBJS)
  161.     -$(RANLIB) $(FLEXLIB)
  162.  
  163. $(FLEX).man: flex.1
  164.     cd $(srcdir); nroff -man flex.1 >$(FLEX).man
  165.  
  166. install: $(FLEX) $(FLEXLIB) installdirs install.$(INSTALLMAN)
  167.     $(INSTALL_PROGRAM) $(FLEX) $(bindir)/$(FLEX)
  168.     @rm -f $(bindir)/$(FLEX)++
  169.     cd $(bindir); $(LN_S) $(FLEX) $(FLEX)++
  170.     $(INSTALL_DATA) $(FLEXLIB) $(libdir)/libfl.a
  171.     -cd $(libdir); $(RANLIB) libfl.a
  172.     $(INSTALL_DATA) $(srcdir)/FlexLexer.h $(includedir)/FlexLexer.h
  173.  
  174. # Note, the following rules delete any vestigial flexdoc installed
  175. # for a prior flex release.
  176. install.man: flex.1
  177.     rm -f $(mandir)/$(FLEX)doc.$(manext)
  178.     $(INSTALL_DATA) $(srcdir)/flex.1 $(mandir)/$(FLEX).$(manext)
  179.  
  180. install.cat: $(FLEX).man
  181.     rm -f $(mandir)/$(FLEX)doc.$(manext)
  182.     $(INSTALL_DATA) $(srcdir)/$(FLEX).man $(mandir)/$(FLEX).$(manext)
  183.  
  184. installdirs:
  185.     $(SHELL) $(srcdir)/mkinstalldirs \
  186.       $(bindir) $(libdir) $(includedir) $(mandir)
  187.  
  188. uninstall:
  189.     rm -f $(bindir)/$(FLEX) $(bindir)/$(FLEX)++
  190.     rm -f $(libdir)/libfl.a
  191.     rm -f $(includedir)/FlexLexer.h
  192.     rm -f $(mandir)/$(FLEX).$(manext) $(mandir)/$(FLEX)doc.$(manext)
  193.  
  194. tags: $(SOURCES)
  195.     ctags $(SOURCES)
  196.  
  197. TAGS: $(SOURCES)
  198.     etags $(SOURCES)
  199.  
  200. lint: $(LINTSRCS)
  201.     lint -Dconst= $(LINTSRCS) > flex.lint
  202.  
  203. gcc-lint: $(LINTSRCS)
  204.     gcc -Dlint -Wall $(LINTSRCS) >flex.gcc-lint 2>&1
  205.  
  206. mostlyclean:
  207.     rm -f a.out *.bak core errs scan.tmp
  208.  
  209. clean: mostlyclean
  210.     rm -f parse.c parse.h *.o alloca.c *.lint lex.yy.c lex.yy.cc $(FLEXLIB)
  211.  
  212. distclean: clean
  213.     rm -f .bootstrap $(FLEX) scan.c tags TAGS Makefile config.status \
  214.         config.h
  215.  
  216. maintainer-clean: distclean
  217.     @echo "This command is intended for maintainers to use;"
  218.     @echo "it deletes files that may require special tools to rebuild."
  219.     rm -f $(FLEX).man skel.c flex*.tar.gz flex*.tar.Z
  220.  
  221. dist: $(FLEX) $(DISTFILES) parse.c parse.h $(srcdir)/$(FLEX).man
  222.     $(MAKE) DIST_NAME=flex-`sed <version.h 's/[^"]*"//' | sed 's/"//'` dist2
  223.  
  224. dist2:
  225.     @rm -rf $(DIST_NAME)
  226.     @rm -f $(DIST_NAME).tar $(DIST_NAME).tar.Z $(DIST_NAME).tar.gz
  227.     @mkdir $(DIST_NAME)
  228.     tar cf - $(DISTFILES) | (cd $(DIST_NAME); tar xfB -)
  229.     @mv $(DIST_NAME)/scan.c $(DIST_NAME)/initscan.c
  230.     @chmod 444 $(DIST_NAME)/initscan.c
  231.     @chmod +w $(DIST_NAME)/Makefile.in
  232.     @cp parse.c parse.h $(DIST_NAME)/MISC
  233.     @col -b <$(srcdir)/$(FLEX).man >$(DIST_NAME)/MISC/flex.man
  234.     tar chf $(DIST_NAME).tar $(DIST_NAME)
  235.     compress <$(DIST_NAME).tar >$(DIST_NAME).tar.Z
  236.     gzip <$(DIST_NAME).tar >$(DIST_NAME).tar.gz
  237.     @rm $(DIST_NAME).tar
  238.  
  239. Makefile: $(srcdir)/Makefile.in config.status
  240.     $(SHELL) config.status
  241. config.status: configure
  242.     $(SHELL) config.status --recheck
  243. configure: configure.in
  244.     cd $(srcdir); autoconf
  245. config.h: conf.in config.status
  246.  
  247. # Prevent GNU make v3 from overflowing arg limit on SysV.
  248. .NOEXPORT:
  249.